package app.inmos.functions.json;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import app.inmos.constants.Constantes;
import app.inmos.json.interfaces.IUtilsJSON;

/**
 * Utilidad JSON para manejo de Imagenes
 * @author Lisandro
 *
 */
public class ImageUtilsJSON extends BaseUtilsJSON implements IUtilsJSON {

	

	 private String pathImagen;
	 private String pIdPropiedad;
	 private String[] listaPathImagenes= new String[200];
		
	
	
	public ImageUtilsJSON(String pIdPropiedad) {
		
		setpIdPropiedad(pIdPropiedad);
		setPathImagen(Constantes.pathImagenes + pIdPropiedad);
		setListaPathImagenes(getPathImagenes(obtenerEstructuraJSON()));
		
    }


	

	
	/**
	 * Se obtienen todos los paths de imagenes de una propiedad
	 * @param pEstructuraJSON
	 * @return
	 */
	public String[] getPathImagenes(String pEstructuraJSON){
		
	    JSONArray jsonArray;
	  
	    String[] listaImagenes =new String[200];	
		
	    try {
				
		 jsonArray = new JSONArray(pEstructuraJSON);
	
 	      // Recorremos el array con los elementos 
 	     for(int i = 0; i < jsonArray.length(); i++) {
 	    	 
 	        JSONObject itemJSON = jsonArray.getJSONObject(i);  
 	        listaImagenes[i]=Constantes.pathImagenes + getpIdPropiedad() + "/" +  itemJSON.getString("nombreImagen");
 	        
 	        
 	     }
 	     
		} catch (JSONException e) {
			
			e.printStackTrace();
		}
         
		return listaImagenes;
	}

	
	@Override
	public String obtenerEstructuraJSON() {
		return obtenerStringJSONConURL("http://10.0.2.2/inmo_project_contreras/app/json/getNombreImagenesConId.php?idImagen=" + pIdPropiedad);
	}


	public String getPathImagen() {
		return pathImagen;
	}


	public void setPathImagen(String pathImagen) {
		this.pathImagen = pathImagen;
	}


	public String[] getListaPathImagenes() {
		return listaPathImagenes;
	}


	public void setListaPathImagenes(String[] listaPathImagenes) {
		this.listaPathImagenes = listaPathImagenes;
	}


	public String getpIdPropiedad() {
		return pIdPropiedad;
	}


	public void setpIdPropiedad(String pIdPropiedad) {
		this.pIdPropiedad = pIdPropiedad;
	}


	

	
	
}
